package com.zsrt.day20170417.pm.pet1;

import org.junit.Test;

import com.zsrt.utils.ArrayUtil;

/**
*@author jzh
*@创建时间 2017年4月17日下午4:23:11
*类说明：
*/
public class PetDaoTest {
	
	PetShop huaren=new PetShop();
	PetDao dao=new PetDaoImpl();
	@Test
	public void addPetTest(){
		//在PetShop中没有定义数组长度，在这里定义，因为在PetShop中数组被定义为一个属性，所以可以通过set方法来赋值
		Pet[] pets=new Pet[9];
		huaren.setPets(pets);
		
		/*Cat cat=new Cat();
		cat.setName("加菲猫");
		dao.addPet(huaren, cat);
		Dog dog=new Dog();
		dog.setName("八公");
		dao.addPet(huaren, dog);*/
		Pet[] pet2s = huaren.getPets();
		ArrayUtil.printArray(pet2s);
		
		Pet newPet = dao.findPetByName(huaren, "加菲猫");
		System.out.println(newPet);
	}
	
	@Test
	public void findPetByAgeTest(){
		//在PetShop中没有定义数组长度，在这里定义，因为在PetShop中数组被定义为一个属性，所以可以通过set方法来赋值
		Pet[] pets=new Pet[9];
		huaren.setPets(pets);
		Cat cat=new Cat();
		cat.setName("加菲猫");
		cat.setAge(2);
		dao.addPet(huaren, cat);
		
		Cat cat1=new Cat();
		cat1.setName("加哆啦A梦");
		cat1.setAge(8);
		dao.addPet(huaren, cat1);
		
		Dog dog=new Dog();
		dog.setName("八公");
		dog.setAge(8);
		dao.addPet(huaren, dog);
			
		Pet[] newPets = dao.findPetByAge(huaren, 8);
		ArrayUtil.printArray(newPets);
	}
	
	@Test
	public void updateAgeTest(){
		//在PetShop中没有定义数组长度，在这里定义，因为在PetShop中数组被定义为一个属性，所以可以通过set方法来赋值
		Pet[] pets=new Pet[9];
		huaren.setPets(pets);
		Cat cat=new Cat();
		cat.setName("加菲猫");
		cat.setAge(2);
		dao.addPet(huaren, cat);
		
		Cat cat1=new Cat();
		cat1.setName("加哆啦A梦");
		cat1.setAge(8);
		dao.addPet(huaren, cat1);
		
		Dog dog=new Dog();
		dog.setName("八公");
		dog.setAge(8);
		dao.addPet(huaren, dog);
			
		Pet dog1 = dao.updateAge(huaren, dog, 3);
		System.out.println(dog1);
	}
	
	@Test
	public void deleteByNameTest(){
		//在PetShop中没有定义数组长度，在这里定义，因为在PetShop中数组被定义为一个属性，所以可以通过set方法来赋值
		Pet[] pets=new Pet[9];
		huaren.setPets(pets);
		Cat cat=new Cat();
		cat.setName("加菲猫");
		cat.setAge(2);
		dao.addPet(huaren, cat);
		
		Cat cat1=new Cat();
		cat1.setName("加哆啦A梦");
		cat1.setAge(8);
		dao.addPet(huaren, cat1);
		
		Dog dog=new Dog();
		dog.setName("八公");
		dog.setAge(8);
		dao.addPet(huaren, dog);
			
		Pet[] pets1 = dao.deleteByName(huaren, "八公");
		ArrayUtil.printArray(pets1);
	}
	
	@Test
	public void deleteByNamesTest(){
		//在PetShop中没有定义数组长度，在这里定义，因为在PetShop中数组被定义为一个属性，所以可以通过set方法来赋值
		Pet[] pets=new Pet[3];
		huaren.setPets(pets);
		Cat cat=new Cat();
		cat.setName("加菲猫");
		cat.setAge(2);
		dao.addPet(huaren, cat);
		
		Cat cat1=new Cat();
		cat1.setName("哆啦A梦");
		cat1.setAge(8);
		dao.addPet(huaren, cat1);
		
		Dog dog=new Dog();
		dog.setName("八公");
		dog.setAge(8);
		dao.addPet(huaren, dog);
		Pet[] pets2 = huaren.getPets();
		//ArrayUtil.printArray(pets2);
		
		Dog dog1=new Dog();
		dog1.setName("小Q");
		dog1.setAge(6);
		//dao.addPet(huaren, dog1);
		
		Pet[] delPet=new Pet[2];
		delPet[0]=cat;
		delPet[1]=dog1;
		
			
		Pet[] pets1 = dao.deleteByNames(huaren, delPet);
		ArrayUtil.printArray(pets1);
	}


}
